using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("Crypto")]
	public class Crypto : MonoClass
	{
		[Attribute38("Crypto.SHA1")]
		public class SHA1 : MonoClass
		{
			public static int Length => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "Crypto/SHA1", "Length");

			public static string Null => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "Crypto/SHA1", "Null");

			public SHA1(IntPtr address, string className)
				: base(address, className)
			{
			}

			public SHA1(IntPtr address)
				: this(address, "SHA1")
			{
			}

			public static string Calc(string message)
			{
				return MonoClass.smethod_13(TritonHs.MainAssemblyPath, "", "SHA1", "Calc", new Class276.Enum20[1] { Class276.Enum20.String }, message);
			}
		}

		[Attribute38("Crypto.Rijndael")]
		public class Rijndael : MonoClass
		{
			public static int REQUIRED_SECRET_KEY_LENGTH => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "Crypto/Rijndael", "REQUIRED_SECRET_KEY_LENGTH");

			public Rijndael(IntPtr address, string className)
				: base(address, className)
			{
			}

			public Rijndael(IntPtr address)
				: this(address, "Rijndael")
			{
			}
		}

		public Crypto(IntPtr address, string className)
			: base(address, className)
		{
		}

		public Crypto(IntPtr address)
			: this(address, "Crypto")
		{
		}
	}
}
